add_subdirectory(Lexer)
add_subdirectory(manager)
add_subdirectory(Parser)
add_subdirectory(PLCSymbols)
add_subdirectory(utils)
add_subdirectory(Visitor)

add_executable(plc2llvm main.cpp)

# find llvm libs
llvm_map_components_to_libnames(llvm_libs support core irreader)

target_link_libraries(plc2llvm
        PUBLIC
        ${ANTLR4_RUNTIME}
        ${llvm_libs}
        Lexer
        Parser
        Listener
        Strategy
        PLCSymbol
        Managers
        Utils
)